function findErrorNums(nums: number[]): number[] {
    let index = 0;
    let ret: number[] = [0,0];
    while(index<nums.length){
        if(nums[index] === index + 1){
            index++;
        }
        else{
            if(nums[nums[index]-1] === nums[index]){
                ret[0]=nums[index];
                index++;
            }
            else{
                let temp:number = nums[nums[index]-1];
                nums[nums[index]-1]=nums[index];
                nums[index]=temp;
            }
        }
    }
    nums.forEach((e,i) => {
        if(e!=i+1){
            ret[1]=i+1;
        }
    })
    return ret;
};

// 执行用时：
// 96 ms
// , 在所有 TypeScript 提交中击败了
// 92.86%
// 的用户
// 内存消耗：
// 41 MB
// , 在所有 TypeScript 提交中击败了
// 100.00%
// 的用户